﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HTSwitchServerNamespace.Util
{
    class Utils
    {
        public static string hostGlobalSat = "";
        public Utils()
        { 
        }

        public string padToRigth(string source, string strPadWith, int longitud)
        {
            int inPad = 0;
            string strToPad;
            if (source.Length >= longitud)
            {
                strToPad = source.Substring(0, longitud);
            }
            else
            {

                inPad = longitud - source.Length;
                strToPad = source;
                for (int i = 0; i <= inPad; i++)
                {
                    strToPad = strToPad + strPadWith;
                }
            }
            return strToPad;
        }

        #region FORMATEAR LATITUD
        public string formatearLatitud(string latitud,int cantDigitos)
        {

            if (latitud.Length < cantDigitos)
            {
                //latitud = padToRigth(latitud, "0", cantDigitos);
                
                //latitud = padToRigth(latitud, "1", cantDigitos);
                
                latitud=latitud.PadRight(cantDigitos, '1');
            }
            else if(latitud.Length>cantDigitos)
            {
                latitud = latitud.Substring(0,cantDigitos);

                //int indi=cantDigitos - 1;
                //if (latitud[indi].Equals("0"))
                //{
                //    latitud.[indi] = "1";
                //}
            }

            string auxString = latitud;


            if (latitud[0] == '-')
            {
                if (!(latitud[3] == '.'))
                {
                    //int i=latitud.IndexOf('.');
                    if ((latitud[2] == '.'))
                    {

                        auxString = "-0";
                        auxString = auxString + latitud.Substring(1, cantDigitos-2);

                    }
                }
            }
            else
            {
                if (!(latitud[2] == '.'))
                {
                    //int i=latitud.IndexOf('.');
                    if ((latitud[1] == '.'))
                    {
                        auxString = "0";
                        auxString = auxString + latitud.Substring(0, cantDigitos-1);

                    }
                }

            }
            return auxString;
        }
        #endregion 

        #region FORMATEAR LONGITUD
        public string formatearLongitud(string longitud,int cantDigitos)
        {

            if (longitud.Length < cantDigitos)
            {
                //longitud = padToRigth(longitud, "0", cantDigitos);
                //longitud = padToRigth(longitud, "1", cantDigitos);

                longitud= longitud.PadRight(cantDigitos, '1');

            }
            else if (longitud.Length>cantDigitos)
            {
                longitud = longitud.Substring(0, cantDigitos);
                //int indice=cantDigitos - 1;
                //if (longitud[indice].Equals("0"))
                //{
                //    longitud.[indice] = "1";
                //}
            }


            string auxString = longitud;


            if (longitud[0] == '-')
            {
                if (!(longitud[4] == '.'))
                {
                    //int i=latitud.IndexOf('.');
                    if (longitud[2] == '.')
                    {
                        auxString = "-00";
                        auxString = auxString + longitud.Substring(1, cantDigitos-3);

                    }
                    else if (longitud[3] == '.')
                    {
                        auxString = "-0";
                        auxString = auxString + longitud.Substring(1, cantDigitos-2);

                    }
                }
            }
            else
            {
                if (!(longitud[3] == '.'))
                {
                    //int i=latitud.IndexOf('.');
                    if (longitud[1] == '.')
                    {
                        auxString = "-00";
                        auxString = auxString + longitud.Substring(1, cantDigitos-3);

                    }
                    else if (longitud[2] == '.')
                    {
                        auxString = "-0";
                        auxString = auxString + longitud.Substring(1, cantDigitos-2);

                    }
                }

            }
            return auxString;
        }
        #endregion
    }
}
